package com.jindy.module.engineeringcost.service;


import com.jindy.common.core.domain.AjaxResult;
import com.jindy.module.engineeringcost.domain.EngineeringCost;
import com.jindy.module.engineeringcost.domain.EngineeringCostApprovalResult;

import java.util.List;

/**
 * 【工程部费用】Service接口
 * 
 * @author jindy
 * @date 2023-01-31
 */
public interface IEngineeringCostService 
{
    /**
     * 查询【工程部费用】
     * 
     * @param id 【工程部费用】主键
     * @return 【工程部费用】
     */
    public EngineeringCost selectEngineeringCostById(Long id);

    /**
     * 查询【工程部费用】列表（含数据权限）
     * 
     * @param engineeringCost 【工程部费用】
     * @return 【工程部费用】集合
     */
    public List<EngineeringCostApprovalResult> selectEngineeringCostListPermission(EngineeringCost engineeringCost);

    /**
     * 查询【工程部费用】列表
     *
     * @param engineeringCost 【工程部费用】
     * @return 【工程部费用】集合
     */
    public List<EngineeringCost> selectEngineeringCostList(EngineeringCost engineeringCost);

    /**
     * 新增【工程部费用】
     * 
     * @param engineeringCost 【工程部费用】
     * @return 结果
     */
    public AjaxResult insertEngineeringCost(EngineeringCost engineeringCost);

    /**
     * 修改【工程部费用】
     * 
     * @param engineeringCost 【工程部费用】
     * @return 结果
     */
    public int updateEngineeringCost(EngineeringCost engineeringCost);

    /**
     * 批量删除【工程部费用】
     * 
     * @param ids 需要删除的【工程部费用】主键集合
     * @return 结果
     */
    public int deleteEngineeringCostByIds(Long[] ids);

    /**
     * 删除【工程部费用】信息
     * 
     * @param id 【工程部费用】主键
     * @return 结果
     */
    public int deleteEngineeringCostById(Long id);
}
